package org.jeecg.modules.eSpeak.service;

import java.io.File;
import java.io.IOException;

public class TextToMP3 {
    public static void main(String[] args) {
        String text = "横店影视城其实不是一个城，而是一个镇，由十几个分布在横店镇内外的大小景区组成，这些景点加起来统称为横店影视城。";
        String outputFile = "output.mp3";

        try {
            // 1. 使用eSpeak生成WAV文件
            String[] espeakCmd = {
                    "espeak",
                    "-v", "zh+f1",       // 英语语音
                    "-s", "90",       // 语速
                    "-p", "50",        // 音调
                    "-w", "temp.wav",  // 输出WAV文件
                    text
            };
            Process espeakProcess = Runtime.getRuntime().exec(espeakCmd);
            espeakProcess.waitFor();

//            // 2. 使用LAME将WAV转为MP3
//            String[] lameCmd = {
//                    "lame",
//                    "--quiet",         // 静默模式
//                    "--preset", "voice", // 语音优化预设
//                    "temp.wav",
//                    outputFile
//            };
//            Process lameProcess = Runtime.getRuntime().exec(lameCmd);
//            lameProcess.waitFor();
//
//            // 3. 删除临时WAV文件
//            new File("temp.wav").delete();

            System.out.println("MP3文件已生成: " + outputFile);

        } catch (IOException | InterruptedException e) {
            e.printStackTrace();
        }
    }

}
